package com.southminority.ethnic.controller;

import com.southminority.ethnic.common.result.R;
import com.southminority.ethnic.vo.MapLocationConfigVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

import java.math.BigDecimal;

/**
 * 地图位置配置控制器
 * 用于管理前端地图显示的位置信息
 * 
 * @author SouthMinority
 */
@Slf4j
@RestController
@RequestMapping("/api/map-location")
@CrossOrigin(origins = {"http://localhost:3000", "http://localhost:5173", "http://localhost:8080"}, allowCredentials = "false")
public class MapLocationController {

    /**
     * 获取默认地图位置配置
     * 用于前端地图初始化
     */
    @GetMapping("/default")
    public R<MapLocationConfigVO> getDefaultLocation() {
        try {
            log.info("获取默认地图位置配置");
            
            // 返回系统默认配置
            MapLocationConfigVO defaultConfig = new MapLocationConfigVO();
            defaultConfig.setId(1L);
            defaultConfig.setName("gzmu_lab");
            defaultConfig.setTitle("南方少数民族语言信息化实验室");
            defaultConfig.setDescription("贵州民族大学花溪校区文科楼510室");
            defaultConfig.setLongitude(new BigDecimal("106.628"));
            defaultConfig.setLatitude(new BigDecimal("26.382"));
            defaultConfig.setZoomLevel(16);
            defaultConfig.setPitch(30);
            defaultConfig.setMarkerIcon("//a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png");
            defaultConfig.setInfoWindowContent("<div style=\"padding: 12px; min-width: 200px;\"><h4 style=\"margin: 0 0 8px 0; color: #00116B; font-size: 14px;\">南方少数民族语言信息化实验室</h4><p style=\"margin: 0; color: #666; font-size: 12px; line-height: 1.5;\">📍 地址：贵州省贵阳市花溪区<br/>🏫 贵州民族大学花溪校区文科楼510室<br/>📮 邮编：550025</p></div>");
            defaultConfig.setIsDefault(1);
            defaultConfig.setIsActive(1);
            defaultConfig.setSortOrder(1);
            
            log.info("默认地图位置配置获取成功：{}", defaultConfig.getTitle());
            return R.ok(defaultConfig);
            
        } catch (Exception e) {
            log.error("获取默认地图位置配置失败", e);
            return R.fail("获取地图配置失败");
        }
    }
} 
